/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * ProjectSetting.java
 */
package com.emm.yixun.common.model;
import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.Date;
import java.math.BigDecimal;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * [文件名称]<br>
 * ProjectSetting.java<br>
 * <br>
 * [文件描述]<br>
 * 项目设置信息 pojo bean<br>
 * <br>
 * [修改记录]<br>
 * 2016-05-11 11:27:19 创建<br>
 * @version 1.00
 */
public class ProjectSetting implements Serializable{
    /**
	 * 序列化UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 *主键、自动增长
	 */
	private Long id;
	/**
	 *项目设置编码
	 */
	private String settingCode;
	/**
	 *外键、关联房产项目表（pro_tm_project）
	 */
	private Long projectId;
	/**
	 *房产项目表（pro_tm_project）,冗余字段
	 */
	private String projectCode;
	/**
	 *外键、关联商户信息表（tm_mer_merchant）、项目数据权限要求字段
	 */
	private Long merchantId;
	/**
	 *部门数据权限要求字段
	 */
	private String userCode;
	/**
	 *项目数据权限字段
	 */
	private String accessCode;
	/**
	 *默认定金
	 */
	private String defaultEarnest;
	/**
	 *预定能否修改折扣:[{key:reserve_discount_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	private String reserveDiscountChange;
	/**
	 *签约能否修改备案:[{key:signup_record_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	private String signupRecordChange;
	/**
	 *无房认筹是否精选到组团:[{key:need_to_premises,values:[{no:0,alias:NO,remark:否},{no:1,alias:YES,remark:是}]}]
	 */
	private String needToPremises;
	/**
	 *开盘时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date openTime;
	/**
	 *开盘前案场客户有效期
	 */
	private Integer validBeforeField;
	/**
	 *开盘后案场客户有效期
	 */
	private Integer validAfterField;
	/**
	 *开盘前渠道客户有效期
	 */
	private Integer validBeforeChannel;
	/**
	 *开盘后渠道客户有效期
	 */
	private Integer validAfterChannel;
	/**
	 *是否启用打印有效协议
	 */
	private BigDecimal validPrint;
	/**
	 *公司总经理部门
	 */
	private Long generalManagerDept;
	/**
	 *公司总经理
	 */
	private Long generalManager;
	/**
	 *项目负责人部门
	 */
	private Long projectLeaderDept;
	/**
	 *项目负责人
	 */
	private Long projectLeader;
	/**
	 *营销负责人部门
	 */
	private Long saleLeaderDept;
	/**
	 *营销负责人
	 */
	private Long saleLeader;
	/**
	 *案场负责人部门
	 */
	private Long fieldLeaderDept;
	/**
	 *案场负责人
	 */
	private Long fieldLeader;
	/**
	 *财务负责人部门
	 */
	private Long financeLeaderDept;
	/**
	 *财务负责人
	 */
	private Long financeLeader;
	/**
	 *销管负责人部门
	 */
	private Long maLeaderDept;
	/**
	 *销管负责人
	 */
	private Long maLeader;
	/**
	 *区域负责人部门
	 */
	private Long areaLeaderDept;
	/**
	 *区域负责人
	 */
	private Long areaLeader;
	/**
	 *区域经理部门
	 */
	private Long areaManagerDept;
	/**
	 *区域经理
	 */
	private Long areaManager;
	/**
	 *是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	private String delFlag;
	/**
	 *创建人ID,关联用户表
	 */
	private Long createUserId;
	/**
	 *创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date createTime;
	/**
	 *修改人ID,关联用户表
	 */
	private Long updateUserId;
	/**
	 *修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date updateTime;
	/**
	 *备注
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date remark;
	


	/**	 
	 *设置 :主键、自动增长
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**	 
	 *获取 :主键、自动增长
	 */
	public Long getId() {
		return this.id;
	}

	/**	 
	 *设置 :项目设置编码
	 */
	public void setSettingCode(String settingCode) {
		this.settingCode = settingCode;
	}

	/**	 
	 *获取 :项目设置编码
	 */
	public String getSettingCode() {
		return this.settingCode;
	}

	/**	 
	 *设置 :外键、关联房产项目表（pro_tm_project）
	 */
	public void setProjectId(Long projectId) {
		this.projectId = projectId;
	}

	/**	 
	 *获取 :外键、关联房产项目表（pro_tm_project）
	 */
	public Long getProjectId() {
		return this.projectId;
	}

	/**	 
	 *设置 :房产项目表（pro_tm_project）,冗余字段
	 */
	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	/**	 
	 *获取 :房产项目表（pro_tm_project）,冗余字段
	 */
	public String getProjectCode() {
		return this.projectCode;
	}

	/**	 
	 *设置 :外键、关联商户信息表（tm_mer_merchant）、项目数据权限要求字段
	 */
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**	 
	 *获取 :外键、关联商户信息表（tm_mer_merchant）、项目数据权限要求字段
	 */
	public Long getMerchantId() {
		return this.merchantId;
	}

	/**	 
	 *设置 :部门数据权限要求字段
	 */
	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	/**	 
	 *获取 :部门数据权限要求字段
	 */
	public String getUserCode() {
		return this.userCode;
	}

	/**	 
	 *设置 :项目数据权限字段
	 */
	public void setAccessCode(String accessCode) {
		this.accessCode = accessCode;
	}

	/**	 
	 *获取 :项目数据权限字段
	 */
	public String getAccessCode() {
		return this.accessCode;
	}

	/**	 
	 *设置 :默认定金
	 */
	public void setDefaultEarnest(String defaultEarnest) {
		this.defaultEarnest = defaultEarnest;
	}

	/**	 
	 *获取 :默认定金
	 */
	public String getDefaultEarnest() {
		return this.defaultEarnest;
	}

	/**	 
	 *设置 :预定能否修改折扣:[{key:reserve_discount_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	public void setReserveDiscountChange(String reserveDiscountChange) {
		this.reserveDiscountChange = reserveDiscountChange;
	}

	/**	 
	 *获取 :预定能否修改折扣:[{key:reserve_discount_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	public String getReserveDiscountChange() {
		return this.reserveDiscountChange;
	}

	/**	 
	 *设置 :签约能否修改备案:[{key:signup_record_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	public void setSignupRecordChange(String signupRecordChange) {
		this.signupRecordChange = signupRecordChange;
	}

	/**	 
	 *获取 :签约能否修改备案:[{key:signup_record_change,values:[{no:0,alias:CAN_NOT,remark:不能},{no:1,alias:CAN,remark:能}]}]
	 */
	public String getSignupRecordChange() {
		return this.signupRecordChange;
	}

	/**	 
	 *设置 :无房认筹是否精选到组团:[{key:need_to_premises,values:[{no:0,alias:NO,remark:否},{no:1,alias:YES,remark:是}]}]
	 */
	public void setNeedToPremises(String needToPremises) {
		this.needToPremises = needToPremises;
	}

	/**	 
	 *获取 :无房认筹是否精选到组团:[{key:need_to_premises,values:[{no:0,alias:NO,remark:否},{no:1,alias:YES,remark:是}]}]
	 */
	public String getNeedToPremises() {
		return this.needToPremises;
	}

	/**	 
	 *设置 :开盘时间
	 */
	public void setOpenTime(Date openTime) {
		this.openTime = openTime;
	}

	/**	 
	 *获取 :开盘时间
	 */
	public Date getOpenTime() {
		return this.openTime;
	}

	/**	 
	 *设置 :开盘前案场客户有效期
	 */
	public void setValidBeforeField(Integer validBeforeField) {
		this.validBeforeField = validBeforeField;
	}

	/**	 
	 *获取 :开盘前案场客户有效期
	 */
	public Integer getValidBeforeField() {
		return this.validBeforeField;
	}

	/**	 
	 *设置 :开盘后案场客户有效期
	 */
	public void setValidAfterField(Integer validAfterField) {
		this.validAfterField = validAfterField;
	}

	/**	 
	 *获取 :开盘后案场客户有效期
	 */
	public Integer getValidAfterField() {
		return this.validAfterField;
	}

	/**	 
	 *设置 :开盘前渠道客户有效期
	 */
	public void setValidBeforeChannel(Integer validBeforeChannel) {
		this.validBeforeChannel = validBeforeChannel;
	}

	/**	 
	 *获取 :开盘前渠道客户有效期
	 */
	public Integer getValidBeforeChannel() {
		return this.validBeforeChannel;
	}

	/**	 
	 *设置 :开盘后渠道客户有效期
	 */
	public void setValidAfterChannel(Integer validAfterChannel) {
		this.validAfterChannel = validAfterChannel;
	}

	/**	 
	 *获取 :开盘后渠道客户有效期
	 */
	public Integer getValidAfterChannel() {
		return this.validAfterChannel;
	}

	/**	 
	 *设置 :是否启用打印有效协议
	 */
	public void setValidPrint(BigDecimal validPrint) {
		this.validPrint = validPrint;
	}

	/**	 
	 *获取 :是否启用打印有效协议
	 */
	public BigDecimal getValidPrint() {
		return this.validPrint;
	}

	public Long getGeneralManagerDept() {
		return generalManagerDept;
	}

	public void setGeneralManagerDept(Long generalManagerDept) {
		this.generalManagerDept = generalManagerDept;
	}

	public Long getGeneralManager() {
		return generalManager;
	}

	public void setGeneralManager(Long generalManager) {
		this.generalManager = generalManager;
	}

	/**	 
	 *设置 :项目负责人部门
	 */
	public void setProjectLeaderDept(Long projectLeaderDept) {
		this.projectLeaderDept = projectLeaderDept;
	}

	/**	 
	 *获取 :项目负责人部门
	 */
	public Long getProjectLeaderDept() {
		return this.projectLeaderDept;
	}

	/**	 
	 *设置 :项目负责人
	 */
	public void setProjectLeader(Long projectLeader) {
		this.projectLeader = projectLeader;
	}

	/**	 
	 *获取 :项目负责人
	 */
	public Long getProjectLeader() {
		return this.projectLeader;
	}

	/**	 
	 *设置 :营销负责人部门
	 */
	public void setSaleLeaderDept(Long saleLeaderDept) {
		this.saleLeaderDept = saleLeaderDept;
	}

	/**	 
	 *获取 :营销负责人部门
	 */
	public Long getSaleLeaderDept() {
		return this.saleLeaderDept;
	}

	/**	 
	 *设置 :营销负责人
	 */
	public void setSaleLeader(Long saleLeader) {
		this.saleLeader = saleLeader;
	}

	/**	 
	 *获取 :营销负责人
	 */
	public Long getSaleLeader() {
		return this.saleLeader;
	}

	/**	 
	 *设置 :案场负责人部门
	 */
	public void setFieldLeaderDept(Long fieldLeaderDept) {
		this.fieldLeaderDept = fieldLeaderDept;
	}

	/**	 
	 *获取 :案场负责人部门
	 */
	public Long getFieldLeaderDept() {
		return this.fieldLeaderDept;
	}

	/**	 
	 *设置 :案场负责人
	 */
	public void setFieldLeader(Long fieldLeader) {
		this.fieldLeader = fieldLeader;
	}

	/**	 
	 *获取 :案场负责人
	 */
	public Long getFieldLeader() {
		return this.fieldLeader;
	}

	/**	 
	 *设置 :财务负责人部门
	 */
	public void setFinanceLeaderDept(Long financeLeaderDept) {
		this.financeLeaderDept = financeLeaderDept;
	}

	/**	 
	 *获取 :财务负责人部门
	 */
	public Long getFinanceLeaderDept() {
		return this.financeLeaderDept;
	}

	/**	 
	 *设置 :财务负责人
	 */
	public void setFinanceLeader(Long financeLeader) {
		this.financeLeader = financeLeader;
	}

	/**	 
	 *获取 :财务负责人
	 */
	public Long getFinanceLeader() {
		return this.financeLeader;
	}

	/**	 
	 *设置 :销管负责人部门
	 */
	public void setMaLeaderDept(Long maLeaderDept) {
		this.maLeaderDept = maLeaderDept;
	}

	/**	 
	 *获取 :销管负责人部门
	 */
	public Long getMaLeaderDept() {
		return this.maLeaderDept;
	}

	/**	 
	 *设置 :销管负责人
	 */
	public void setMaLeader(Long maLeader) {
		this.maLeader = maLeader;
	}

	/**	 
	 *获取 :销管负责人
	 */
	public Long getMaLeader() {
		return this.maLeader;
	}
	
	public Long getAreaLeaderDept() {
		return areaLeaderDept;
	}

	public void setAreaLeaderDept(Long areaLeaderDept) {
		this.areaLeaderDept = areaLeaderDept;
	}

	public Long getAreaLeader() {
		return areaLeader;
	}

	public void setAreaLeader(Long areaLeader) {
		this.areaLeader = areaLeader;
	}

	public Long getAreaManagerDept() {
		return areaManagerDept;
	}

	public void setAreaManagerDept(Long areaManagerDept) {
		this.areaManagerDept = areaManagerDept;
	}

	public Long getAreaManager() {
		return areaManager;
	}

	public void setAreaManager(Long areaManager) {
		this.areaManager = areaManager;
	}
	
	/**	 
	 *设置 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	/**	 
	 *获取 :是否删除:[{key:del_flag,values:[{no:0,alias:UNDEL,remark:否},{no:1,alias:DEL,remark:是}]}]
	 */
	public String getDelFlag() {
		return this.delFlag;
	}

	/**	 
	 *设置 :创建人ID,关联用户表
	 */
	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	/**	 
	 *获取 :创建人ID,关联用户表
	 */
	public Long getCreateUserId() {
		return this.createUserId;
	}

	/**	 
	 *设置 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**	 
	 *获取 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getCreateTime() {
		return this.createTime;
	}

	/**	 
	 *设置 :修改人ID,关联用户表
	 */
	public void setUpdateUserId(Long updateUserId) {
		this.updateUserId = updateUserId;
	}

	/**	 
	 *获取 :修改人ID,关联用户表
	 */
	public Long getUpdateUserId() {
		return this.updateUserId;
	}

	/**	 
	 *设置 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**	 
	 *获取 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getUpdateTime() {
		return this.updateTime;
	}

	/**	 
	 *设置 :备注
	 */
	public void setRemark(Date remark) {
		this.remark = remark;
	}

	/**	 
	 *获取 :备注
	 */
	public Date getRemark() {
		return this.remark;
	}

}
